home *** CD-ROM | disk | FTP | other *** search
-
- //-------------------------->
- //-------------------------->
- //-------------------------->
- //---- ---->
- //---- GOTHIC.POV ---->
- //---- ---->
- //-------------------------->
- //-------------------------->
- //-------------------------->
-
- /*
-
- Think of a clock - draw a line from 12 down to the center,
- and from 9 over to the center. That gives you a quarter
- circle on the upper left (NOT good). Now try it again, but
- start at 11 and and draw down, then over to 9. See how you
- get a pointy slice?! Now do the opposite, from 1 straight
- down, and over to 3, for the right side pointy slice. Glue
- those together, and use them to difference a hole in a block
- of stone. :-)
-
- After I had the shapes figured out, I added some glass, and
- then some diagonal lead dividers.
-
- */
-
- // Gothic style arches!
-
- #include "colors.inc"
- #include "textures.inc"
- #include "glass.inc"
- #include "skies.inc"
- #include "marbteal.map"
-
- camera { location < 0, 30, -70 > look_at < 0, 30, 0 > }
- light_source { < -30, 60, 120 > color rgb 2 }
- light_source { < 20, 300, -300 > color rgb 2 }
- background { color White }
- sky_sphere { S_Cloud1 }
- plane { y, 0 pigment { Coral } }
-
- // Make the cutter, from one box, and two sections cut from cylinders.
- // The curved pieces are moved 0.0001 towards the center, to avoid a
- // thin slice of "original material" when you do the final difference.
-
- #declare Cutter = union {
-
- // Large bottom box.
- box { < -8, 0, 0 > < 8, 30, 6 > }
-
- // Left side curve.
- difference {
- cylinder { < 0, 0, 0 > < 0, 0, 6 >, 7 }
- box { < -3, 0, -0.1 > < -8, 8, 6.1 > inverse }
- translate x * 3
- scale < 2, 3, 1 >
- translate < 0.0001, 30, 0 >
- } // End of difference.
-
- // Right side curve.
- difference {
- cylinder { < 0, 0, 0 > < 0, 0, 6 >, 7 }
- box { < 3, 0, -0.1 > < 8, 8, 6.1 > inverse }
- translate x * -3
- scale < 2, 3, 1 >
- translate < -0.0001, 30, 0 >
- } // End of difference.
-
- } // End of union.
-
- // Make one arch, with glass and lead.
-
- #declare One_Arch = union {
-
- difference {
- box { < -10, 0, 0.1 > < 10, 65, 5.9 > }
- object { Cutter translate y * 10 }
-
- texture { pigment { agate
- color_map { M_MarbTeal }
- scale 0.5 }
- finish { Shiny } }
-
- } // End of difference.
-
- box { < -9, 1, 2.999 > < 9, 64, 3 >
- texture { T_Glass3 }
- normal { bumps 0.1 }
- } // End of box.
-
- // These start *underground* --- sloppy!
- #declare A = -5 #while ( A <=50 )
- cylinder { < -9, A, 3 > < 9, A+14, 3 >, 0.1
- pigment { Gray30 } }
- cylinder { <-9, A+14, 3 > < 9, A, 3 >, 0.1
- pigment { Gray30 } }
- #declare A = A + 2.5 #end
-
- } // End of union.
-
- // Show a few of them.
-
- #declare A = -60 #while ( A <= 60 )
- object { One_Arch translate z * 37 rotate y * A }
- #declare A = A + 30 #end
-
- // End of this file.
-
-